// pages/login/login.js
const loginService = require('../../service/loginService.js')
const utils = require('../../utils/util.js')
// load promise 
const request = require('../../utils/wx-pro.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    showToast: false,
    toastMsg: '',
    // canIUse: wx.canIUse('button.open-type.getUserInfo'),
    btnandtxt:true
  },

  //错误提示
  showToastFuc(msg) {
    this.setData({
      showToast: true,
      toastMsg: msg
    })
    setTimeout(() => {
      this.setData({
        showToast: false,
        toastMsg: ''
      })
    }, 2000)
  },

  // onShow: function (options) {
  //   // this.getUserInfo()
  // },
  onLoad: function () {
    var _this=this
    wx.getSetting({
      success: function (res) {
        if (res.authSetting['scope.userInfo']) {
          _this.getUserInfo()
        }else{
          _this.setData({
            btnandtxt:false
          })
        }
      }
    })
  },

  // 老版登录
  getUserInfo: function (cb) {
    var that = this
    wx.login({
      success: function (res) {

        // 登录成功  
        // 在这里登录的时候会返回一个登录凭证，以前是发送一次请求换一个，现在好像是登录凭证有5分钟的有效时间  
        // 从这种情况来看微信小程序的发展还是不错的，以前估计没多少人访问，现在访问量上去后后台的布局都重新架构了  
        var code = res.code// 登录凭证  
        console.log('logincode',res)

        // 获取用户信息  
        wx.getUserInfo({
          // 当你获取用户信息的时候会弹出一个弹框是否允许授权  

          // 这里点击允许触发的方法  
          success: function (res2) {
            that.setData({
              btnandtxt:true
            })
            //that.globalData.userInfo = res2.userInfo
            // 准备数据（下面的这些参数都是必须参数，请不要问为什么，看文档去吧）  
            var params = { encryptedData: res2.encryptedData, iv: res2.iv, code: code, headImgUrl: res2.userInfo.avatarUrl, nickName: res2.userInfo.nickName }
            console.log('params',params)
            loginService.xcxLogin(params).then(data => {
              if (data.code == 200) {
                // 成功
                wx.setStorageSync('userInfo', JSON.stringify(data.response))
                wx.setStorageSync('sessionId', data.response.sessionId)
                // 新手们注意一下，记得把下面这个写到这里，有好处。  
                //typeof cb == "function" && cb(that.globalData.userInfo)
                console.log('wx.getStorageSync(redirectUrl)',wx.getStorageSync('redirectUrl'))
                wx.navigateBack({})
              } else {
                this.showToastFuc(data.message)
              }
            })
          },
          // 这里是点击拒绝触发的方法  
          fail: function (res2) {
            that.setData({
              btnandtxt: false
            })
            // 在这里做一下兼容，有些同行业的用户会点击拒绝玩一玩看你们的小程序是否存在bug，  
            // 所以在这里还是加上下面这两行代码吧，打开微信小程序的设置，允许小程序重新授权的页面  
            wx.openSetting({
              success: (res) => {
                // 下面的代码格式按照我的写，不要看工具打印的什么，在这里提醒大家一句，有时候不能相信开发者工具，因为  
                // android和ios还有工具底层的js库是不同的，有些时候坑的你是一点脾气也没有，所以大家注意一下，  
                // 不相信的慢慢的去自己跳坑吧  
                if (res.authSetting["scope.userInfo"]) {
                  // 进入这里说明用户重新授权了，重新执行获取用户信息的方法  
                  that.getUserInfo()
                }
              }
            })
          }
        })
      }
    })
  }
})